package com.xinggq.pay.service.pay.channel.yse.pay.wxpay.dto;

import com.xinggq.pay.api.enums.YsePayWayEnum;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import lombok.Data;

/**
 * 银盛统一支付接口的参数封装类
 * @Description
 * @Author xinggq
 * @Date 2025/9/9
 */
@Data
public class YseWxPayParamDTO {

  /**
   * 商户侧订单号
   */
  @NotNull(message = "商户侧订单号不能为空")
  private String merchantOutTradeNo;


  /**
   * 支付渠道订单号
   */
  @NotNull(message = "支付渠道订单号不能为空")
  private String channelOutTradeNo;


  /**
   * 银盛支付方式
   */
  @NotNull(message = "银盛支付方式不能为空")
  private YsePayWayEnum ysePayWay;

  /**
   * 微信公众号或小程序的appid(微信支付必传)
   */
  @NotNull(message = "银盛支付方式不能为空")
  private String wxOpenAppid;

  /**
   * 用户在商户appid下的授权唯一标识。（ 微信支付必传）
   */
  @NotNull(message = "银盛支付方式不能为空")
  private String subOpenid;

  /**
   * 该笔订单的资金总额，单位为RMB-Yuan。取值范围为[0.01，100000000.00]，精确到小数点后两位。Number(10,2)指10位长度，2位精度。100
   */
  @NotNull(message = "订单金额不能为空")
  private BigDecimal totalAmount;

  /**
   * 订单备注
   */
  private String subject;




}
